﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
//biblioteki XML
using System.Xml;
using System.Xml.Linq;

namespace PizzaProjekt
{
    public partial class Form3 : Form
    {
        Menu menu = new Menu();
      //  string s;
        public Form3()
        {
            InitializeComponent();
            button8.Hide();
            button9.Hide();
        }

        private void pokaz_przycisk_edycji() {
            button7.Show();
            button1.Hide();
            button8.Show();
        }

        private void ukryj_przycisk_edycji()
        {
            button7.Hide();
            button1.Show();
            button8.Hide();
        }

        private void pokaz_przycisk_edycji_2()
        {
            button9.Show();
            button6.Hide();
            button10.Show();
        }

        private void ukryj_przycisk_edycji_2()
        {
            button9.Hide();
            button6.Show();
            button10.Hide();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            menu.dodajRodzaj(textBox1.Text);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            if (comboBox1.Text != "")
            {
                pokaz_przycisk_edycji();
                textBox1.Text = comboBox1.Text;
                label4.Hide();
                label4.Text = textBox1.Text;
            }
            else
            {
                MessageBox.Show("Wybierz rodzaj z listy", "Ostrzeżenie", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
         //   menu.edytujRodzaj();
         //   s = zmiana(button2.Text);
          //  button2.Text = s;
        }

        private void button3_Click(object sender, EventArgs e)
        {
            string combo = comboBox1.Text;
            XmlDocument xDoc = new XmlDocument();
            xDoc.Load("menu.xml");
            XmlNodeList rodzaje = xDoc.GetElementsByTagName("rodzaj");
           
            for (int i = 0; i < rodzaje.Count; i++)
            {
                string s = rodzaje[i].Attributes["nazwa"].InnerText;
                if (String.Compare(s, combo, true) == 0)
                {
                    MessageBox.Show("Rodzaj potrawy " + s + " został usunięty", "Rodzaj potrawy", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    menu.usunRodzaj(s);
                }
             
            }
            comboBox1.Text = "";
            ZaladojCombo();
        }

        private void button6_Click(object sender, EventArgs e)
        {
            if (comboBox1.Text != "")
            {
                menu.dodajPozycje(textBox2.Text, textBox3.Text, comboBox1.Text);
            }
            else
            {
                MessageBox.Show("Rodzaj jest pusty");
            }
        }

        private void button5_Click(object sender, EventArgs e)
        {
            if (comboBox2.Text != "")
            {
                pokaz_przycisk_edycji_2();
                string combo = comboBox2.Text;
                XmlDocument xDoc = new XmlDocument();
                xDoc.Load("menu.xml");
                XmlNodeList rodzaje = xDoc.GetElementsByTagName("pozycja");

                for (int i = 0; i < rodzaje.Count; i++)
                {
                    string s = rodzaje[i].Attributes["nazwa"].InnerText;

                    if (String.Compare(s, combo, true) == 0)
                    {
                        textBox2.Text = rodzaje[i].Attributes["nazwa"].InnerText;
                        textBox3.Text = rodzaje[i].Attributes["cena"].InnerText;
                        label5.Hide();
                        label5.Text = rodzaje[i].Attributes["nazwa"].InnerText;
                    }
                }
            }
            else
            {
                MessageBox.Show("Wybierz potrawe z listy", "Ostrzeżenie", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            /*if (button5.Text == "Edytuj")
            {
                textBox2.Text = comboBox2.Text;
            }
            else
            {
                menu.edytujPozycje(comboBox1.Text, comboBox2.Text, textBox2.Text);
                ZaladojCombo();
            }
            s = zmiana(button5.Text);
            button5.Text = s;*/
        }

        private void button4_Click(object sender, EventArgs e)
        {
            string combo = comboBox2.Text;
            XmlDocument xDoc = new XmlDocument();
            xDoc.Load("menu.xml");
            XmlNodeList rodzaje = xDoc.GetElementsByTagName("pozycja");

            for (int i = 0; i < rodzaje.Count; i++)
            {
                string s = rodzaje[i].Attributes["nazwa"].InnerText;
               
                if (String.Compare(s, combo, true) == 0)
                {
                    MessageBox.Show("Potrawa " + s + " została usunięta", "Potrawy", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    menu.usunPozycje(s);
                }

            }
            comboBox2.Text = "";
            ZaladojCombo();
        }

        private void comboBox1_Click(object sender, EventArgs e)
        {
            XmlDocument xDoc = new XmlDocument();
            xDoc.Load("menu.xml");
            XmlNodeList rodzaje = xDoc.GetElementsByTagName("rodzaj");
            comboBox1.Items.Clear();
            for (int i = 0; i < rodzaje.Count; i++)
            {
                comboBox1.Items.Add(rodzaje[i].Attributes["nazwa"].InnerText);
            }
            button2.Text = "Edytuj";
            button5.Text = "Edytuj";
        }

        private void comboBox2_Click(object sender, EventArgs e)
        {
            ZaladojCombo();
            button2.Text = "Edytuj";
            button5.Text = "Edytuj";
        }

        private string zmiana(string box)
        {
            if(box == "Edytuj")
            {
                box = "Popraw";
            }
            else
            {
                box = "Edytuj";
            }
            return box;
        }

        private void ZaladojCombo()
        {
            XmlDocument xDoc = new XmlDocument();
            xDoc.Load("menu.xml");
            XmlNodeList rodzaje = xDoc.GetElementsByTagName("pozycja");
            comboBox2.Items.Clear();
            for (int i = 0; i < rodzaje.Count; i++)
            {
                string s = rodzaje[i].Attributes["rodzaj"].InnerText;
                if (s == comboBox1.Text)
                {
                    comboBox2.Items.Add(rodzaje[i].Attributes["nazwa"].InnerText);
                }
            }
        }

        private void button8_Click(object sender, EventArgs e)
        {
            ukryj_przycisk_edycji();
        }

        private void button7_Click(object sender, EventArgs e)
        {
            string s = textBox1.Text;
            string s_old = label4.Text;
            menu.usunRodzaj(s_old);
            menu.dodajRodzaj(s);
            MessageBox.Show("Rodzaj potrawy " + s_old + " został edytowany na " + s, "Rodzaj potrawy", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            textBox1.Text = "";               
            comboBox1.Text = "";
            ZaladojCombo();
            ukryj_przycisk_edycji();
        }

        private void button10_Click(object sender, EventArgs e)
        {
           string nazwa_stara = label5.Text;
           string combo1 = comboBox1.Text;
           string nazwa = textBox2.Text;
           string cena = textBox3.Text;
           menu.usunPozycje(nazwa_stara);
           menu.dodajPozycje(nazwa, cena, combo1);
           comboBox2.Text = nazwa;
           MessageBox.Show("Potrawa " + nazwa_stara + " został edytowany na " + nazwa, "Potrawa", MessageBoxButtons.OK, MessageBoxIcon.Warning);
           ZaladojCombo();
           ukryj_przycisk_edycji_2();
           textBox2.Text = "";
           textBox3.Text = "";
        }

        private void button9_Click(object sender, EventArgs e)
        {
            ukryj_przycisk_edycji_2();
            textBox2.Text = "";
            textBox3.Text = "";
        }
    }
}
